
#include "my_define.h"

#define MY_QUEUE_MAXNUM	20

typedef struct 
{
	u8 retryNum;		//重试次数上限
	u16 cmd;			//信息id
	u16 oTime;			//超时时间 单位ticks
}MY_INFO_t;

typedef struct
{
	struct{
		u8 busy:1;							
	}flags;						
	u8 retryNum;							//当前重试次数
	u8 rstNum;								//复位次数，多次失败特殊处理（暂未使用）
	MY_INFO_t info_queue[MY_QUEUE_MAXNUM];	//全部指令环形队列
	MY_INFO_t info;							//当前取出的指令信息
	u16 otime;								//当前命令等待时间
	u16 front;								//队列头数组下标
	u16 rear;								//队列尾数组下标
}MY_QUEUE_t;

void clear_my_queue(void);
u16 get_queue_data_num(void);
void write_to_queue(MY_INFO_t info);
void read_from_queue(void);

extern volatile MY_QUEUE_t my_queue;


